Method and device for controlling motors

ABSTRACT

An electronic device is provided for controlling a motor having three phases driven by a motor driver. In one implementation, the electronic device includes a detection means and a control circuit. The detection means includes three high-gain differential amplifiers and three A/D converters. The detection means detects back EMF voltages induced by the rotation of the motor and applies corresponding signals to the control circuit. The control circuit computes and filters the position and/or the speed of the motor and then delivers the filtered values of the computed rotor position and/or speed to control the motor driver. The motor may thus be controlled even at near-zero rotational speed.

FIELD OF THE INVENTION

The present invention is in the field of control of a synchronous motor with permanent magnets. It relates, more particularly to an electronic device and to a method for controlling the same.

BACKGROUND OF THE INVENTION

Synchronous motors with permanent magnets, such as stepping motors, hybrid motors or direct current motors with no commutating element, are currently well known and used to replace direct current motors with a commutating element, the latter having a relatively short lifetime because of friction generated on the commutating element itself by the carbon brushes.

In these motors with permanent magnets, an electronic phase switching circuit is necessary to replace the commutating element function. Since this type of motor is synchronous, the rotor speed is the same as that of the rotating stator field. However, when the commutating element is removed and replaced with an electronic circuit, it is necessary to determine the position of the rotor for the control logic to be able to perform the switching at the right time. This is usually achieved with Hall effect probes or optical sensors, which are also called direct sensors.

This type of direct sensors has some drawbacks. First, their costs have a non-negligible impact on the whole cost of the motor. Second, the mounting thereof means that some space has to be especially provided for, not just for the sensors themselves, but also for the related electric connecting means. Therefore, the assembly of such motors is much more complex and time consuming. Finally, the reliability of the system is thereby reduced.

Some existing systems propose to overcome these drawbacks and provide a method and/or a device for controlling a synchronous motor with a permanent magnet with no direct sensors. This is particularly disclosed in the U.S. Pat. No. 6,326,760 which describes a method and a device to determine the speed of the motor by measuring the induced voltages, in at least two phases, when the driving power in said phases is turned off. However, the method described here above has the following main drawback. Since the motor with variable load cannot be reliably started by means of a closed loop working in function of the position, this method requires an open-loop starting algorithm for the motor to reach a speed level that is high enough to: 1) create a motion with sufficient kinetic energy to prevent the motor from being stopped by the load between two steps of the control algorithm and 2) generate induced voltages with a sufficiently high magnitude to allow the rotor position to be determined and thus, the motor to be speed and/or torque controlled.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide an electronic device and a method for controlling a synchronous motor with permanent magnets that do not suffer from the disadvantages described above. In particular with the device and method according to the invention, it shall be possible to determine the position of the motor even at near-zero speeds. A near-zero speed means that even when the motor is blocked, for example because the generated torque is too low, successively turning on and off driving currents will bring about an oscillating movement of the rotor around its rest position and thus produce induced voltages, which are high enough to allow to determine the position of the rotor. These and other problems are solved by the device and method as defined in the independent claims. Advantageous embodiments of the invention are given in the dependent claims.

The invention is based on the idea to measure induced voltages with the highest possible sensitivity, to determine the rotor position and/or rotor speed from measured induced voltages and then to enter said determined rotor position and/or rotor speed into a state filter which delivers a filtered rotor position and/or a filtered rotor speed that allow to control the power of each phase of the motor. The invention may be used for any synchronous motor be it a two-phase or multiple-phase, unipolar or bipolar motor controlled with or without pulse-width modulation.

The inventive method for controlling a synchronous permanent magnet multiple-phase motor, comprises the steps of:

-   -   determining a frequency optimized in function of the         characteristics of the motor, said optimized frequency being         able to be made constant or variable depending on the status of         the motor,     -   controlling the drive current supplied to each motor phase by         cutting it off totally or partially at said optimized frequency,     -   virtually simultaneously measuring the induced voltages of at         least two motor phases, when the power in said motor phases is         turned off, with a sufficiently high sensitivity to be able to         determine a rotational speed of the motor that is close to zero,     -   sampling the measured induced voltages at said optimized         frequency,     -   determining the rotor position and/or the rotor speed from         signals resulting from said samples,     -   entering said determined rotor position and/or said determined         rotor speed into a state filter which delivers a filtered rotor         position and/or a filtered rotor speed,     -   adjusting the drive current as a function of said filtered rotor         position and/or filtered rotor speed.

The electronic device according to the invention comprises:

-   -   detection means, which are connected to the phases of the motor         and deliver signals that represent induced voltages of motor         phases, said detection means having a high enough gain to         provide significant output signals even if the speed of the         rotor is near-zero, and     -   a control circuit connected to said detection means and to the         motor driver, which supplies driving currents to the motor, said         control circuit comprising means for computing the position         and/or the speed of the rotor from the output signals provided         by said detection means.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are described in greater detail hereinafter relative to the attached schematic drawings.

FIG. 1 shows an example of drive currents which can be used to control a synchronous three-phase motor as well as the induced voltage generated in each of three phases by motor rotation,

FIGS. 2 a-2 c show different arrangements of the device according to the invention for controlling a synchronous three-phase motor with permanent magnets.

DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 shows in a) an example of the drive current that can be used to control one phase of a synchronous three-phase motor and in b), c) and d) the induced voltages that can be measured in each respective phase when the motor is rotating and the current supply is turned off. There is a phase shift from one motor phase to the other between drive current pulses as well as between respective induced voltages. For a three-phase synchronous motor this phase shift is equal to 120°. In the example shown in FIG. 1, the drive current pulses have a positive value when the induced voltage is positive and a negative value when the latter is negative. This is valid for a positive torque only and when a negative torque is required, drive current pulses polarities are reversed. Besides, drive current pulses are present for a fraction of each half-period of the induced voltage waveform only. According to FIG. 1, this fraction is equal to 120°, starting 30° after the zero-crossing of curve b), and is followed by a time period during which the drive current is turned off. This turned-off period corresponds to a motor rotation angle of 60°. The frequency of the drive current pulses is chosen as a function of both the characteristics of the motor and its current status. After the drive current is turned off, for instance at time t0, there is a stabilization period δt after which the induced voltage in each motor phase is measured, for instance at time tm. From these measured induced voltages the measured rotor position and rotor speed can be determined. By way of example, the rotor position in a two-axis system can be determined from the induced voltages measured in a three-phase synchronous motor using the following formulae: Ua = V  1 ${Ub} = \frac{{V\quad 2} - {V\quad 3}}{\sqrt{3}}$ where Ua and Ub are two voltages proportional to the two components of the rotor position vector in said two-axis system (i.e. √{square root over (Ua²+Ub²)} is proportional to the rotor speed) and V1, V2 and V3 are the measured induced voltages in the three motor phases, respectively. The rotor rotational speed may be advantageously determined by computing the square root of the sum of squares of all measured induced voltages V1 to V3. It should be noted however that two measured induced voltages only are actually required since the third one can be determined using the equation V1+V2+V3=0. Other methods, well known to those skilled in the art, may also be used such as derivation of the determined position or calculation of the change in rotor position as a function of time.

The arrangements shown in FIGS. 2 a to 2 c represent different options to connect the detection means 10 to the motor 1 depending on whether a neutral node N (FIG. 2 b) is available or not. However, such a neutral node may be virtual as shown in FIG. 2 b. In this latter case the virtual neutral node Nv is derived from an array of three resistors R, which are connected between respective phases A, B and C of the motor and said virtual neutral node. Referring now to FIG. 2 a we can see a synchronous motor 1, the three phases of which are driven by a motor driver 2. The device according to the invention, the reference number of which is 10, will be referred to as electronic means hereafter. Such electronic means 10 comprise detection means 3 and a control circuit 4. The detection means 3 comprise three high-gain differential amplifiers 31 to 33 and three analog-to-digital converters 34 to 36. Every differential amplifier has its two differential inputs connected each to one phase of the motor 1 so as to be able to measure the voltage difference between corresponding motor phases. The gain of these differential amplifiers must be high enough to detect the small induced voltages that are generated by the motor when its rotational speed is near-zero. The analog output signals of differential amplifiers 31 to 33 are converted into digital signals by A/D converters 34 to 36 before being applied to the control circuit 4. Advantageously, this control circuit includes a microprocessor, a DSP or a FPGA. The position and/or speed of the motor are computed by the control circuit 4 from digital signals outputted by A/D converters. Such computed motor position and speed will be referred to hereafter as measured motor position and speed, respectively. As previously mentioned, the rotational speed of the motor may be determined by computing the square root of the sum of squares of the back EMF voltages existing on the motor phases when the driving currents thereof are turned off. This method of determining the rotational speed of the motor is preferred to other known methods because it gives an instantaneous result. For the determination of the motor position, the components Ua and Ub, representative of the position vector in a two-axis system, are computed by the control circuit from the back EMF voltages V1 to V3 using the formulae given here above. Then the measured angular position θ of the rotor may be computed by using the following formula: $\theta = {{arc}\quad{tg}\quad{\frac{Ua}{Ub}.}}$

According to the invention the control circuit 4 also comprises a state filter to which are applied the measured motor position and/or the measured motor speed and which delivers a filtered motor position and/or a filtered motor speed. With such a state filter, which advantageously may consist in a Kalman filter, it is possible to filter out noise-corrupted signals and/or disturbances that are always present in actual dynamic systems. Generally speaking, the state filter, or Kalman filter, processes all available measurements, regardless of their precision, to estimate the current value of the variables of interest, with use of any available information about initial conditions of the variables of interest. In the present case, the measured motor position and/or the measured motor speed may be corrupted by system noises or other disturbances, especially when the motor rotational speed is low. The use of Kalman filter, or any equivalent filter, allows to take into account the physical knowledge that when the rotational speed of the motor is very low, the position of the motor can not change substantially over a short period of time. In other words, when the speed is very low, the rotor position may be assumed to remain constant. Unlike the measured data, such as measured motor speed and position, the filtered data are thus suitable information that can be used to control the motor properly.

By way of example for the position of the motor, the Kalman filter may be implemented using the following algorithm: X=X ⁻¹+(a*V*T+b*dP)÷2, where

-   X is the estimated position at time t, -   X⁻¹ is the estimated position at time t⁻¹, -   Xm is the measured position using back EMF voltages at time t_(m)     with (t⁻¹≦tm ≦t), -   V is the measured speed using back EMF voltages at time t_(m), -   T is the time duration between 2 successive measurements (t⁻¹ and     t), -   dP is the difference between Xm and X⁻¹, such difference being     however limited to ±(c*VT+d).

Parameters a, b, c and d are coefficients that are adapted to adjust the algorithm to the characteristics of the motor. Filtered rotor position and/or rotor speed delivered by the Kalman filter are applied to the motor driver via the connection 20 to possibly adjust the drive currents sent to the motor.

The algorithm described above is only one of numerous examples that can be used in accordance with the principles of the invention. Besides it shall be understood that the state filter designation will encompass any other filtering circuit that substantially achieves the same function as that described above in relation to the state filter.

Of course this invention is not limited to the preferred embodiments described above, to which variations and improvements may be made, without departing from the scope of protection of the present patent. More particularly, although the invention has been described with reference to a synchronous rotating motor with permanent magnets and three phases, it will be understood to also apply to one-phase rotating motors as well as to synchronous linear motors.

LIST OF REFERENCE SIGNS

-   1 Motor -   2 Motor driver -   3 Detection means -   31-33 Differential amplifiers -   34-36 Analog-to-digital converters -   4 Control circuit -   5 Electronic means 

1. A method for controlling a synchronous permanent magnet multiple-phase motor, the motor having multiple phases and having a rotor, the method comprising: controlling drive currents supplied to the phases of the motor by turning the drive currents off at a predetermined frequency; measuring, at said predetermined frequency, induced voltages of at least two of the phases of the motor, when the drive currents in said at least two of the phases of the motor are turned off, with a sensitivity sufficient for obtaining significant voltage values at a near-zero speed of the rotor; determining a position and/or a speed of the rotor from said measured induced voltages; filtering the position and/or the speed of the rotor with a state filter to obtain a filtered rotor position and/or a filtered rotor speed; and adjusting the drive currents according to the filtered rotor position and/or the filtered rotor speed.
 2. The method according to claim 1, wherein the state filter is configured so as to take into account that when the speed of the rotor is very low, the position of the rotor does not change substantially over a short period of time.
 3. The method according to claim 2, wherein said state filter is a Kalman filter.
 4. The method according to any of claims 1 to 3, wherein the position, θ, of the rotor is determined by the formula ${\theta = {{arc}\quad{{tg}\left( \frac{Ua}{Ub} \right)}}}\underset{\_}{,}$ where Ua is to the measured induced voltage in one of the phases of the motor phase and Ub is equal to $\frac{{V\quad 2} - {V\quad 3}}{\sqrt{3}},$ V2 and V3 being the measured induced voltages in two others of the phases of the motor.
 5. The method according to claim 1, wherein the speed of the rotor is determined by computing a square root of a sum of squares of the measured induced voltages.
 6. The method according to claim 2, wherein the state filter implements an algorithm such as X=X ⁻¹+(a*V*T+b*dP)÷2,where X is an estimated position of the rotor at time t, X⁻¹ is an estimated position of the rotor at time t⁻¹, V is a measured speed of the rotor using back EMF voltages at time t_(m), T is a time duration between t⁻¹ and t, dP is the difference between Xm and X⁻¹, wherein Xm is a measured position of the rotor using back EMF voltages at time t_(m) with t⁻¹≦tm≦t, and the difference dP is limited to ±(c*VT+d), and a, b, c and d are coefficients which depend on characteristics of the motor.
 7. An electronic device for controlling a synchronous permanent magnet motor with at least one phase, a coil, a rotor, and a motor driver, the electronic device comprising: detection means connected to the at least one phase of the motor for generating signals that represent induced voltages of the at least one phase of the motor, said detection means having a gain such that the signals representing the induced voltages are significant even if a speed of the rotor is near-zero; and a control circuit connected to said detection means and to the motor driver for supplying driving currents to the motor, said control circuit comprising means for generating signals representing a position and/or a speed of the rotor from the signals representing the induced voltages.
 8. The electronic device according to claim 7, wherein the motor includes at least two phases, and wherein said detection means comprises, for each of the at least two phases; a differential amplifier having inputs connected to two of the at least two phases of the motor; and an analog-to-digital converter for converting an analog signal outputted by said differential amplifier into a digital signal and providing said digital signal to said control circuit.
 9. The electronic device according to claim 7 or claim 8, wherein the control circuit further comprises a state filter for filtering the signals representing the position and/or the speed of the rotor.
 10. The electronic device according to claim 9, wherein said state filter is a Kalman filter.
 11. The method according to claim 4, wherein the speed of the rotor is determined by computing a square root of a sum of squares of the measured induced voltages.
 12. The method according to claim 4, wherein the state filter implements an algorithm such as X=X ⁻¹+(a*V*T+b*dP)÷2,where X is an estimated position of the rotor at time t, X⁻¹ is an estimated position of the rotor at time t⁻, V is a measured speed of the rotor using back EMF voltages at time t_(m), T is a time duration between t⁻and t, dP is the difference between Xm and X⁻¹, wherein Xm is a measured position of the rotor using back EMF voltages at time t_(m) with t⁻¹≦tm≦t, and the difference dP is limited to ±(c*VT+d), and a, b, c and d are coefficients which depend on characteristics of the motor.
 13. The method according to claim 5, wherein the state filter implements an algorithm such as X=X ⁻¹+(a*V*T+b*dP)÷2,where X is an estimated position of the rotor at time t, X⁻¹ is an estimated position of the rotor at time t⁻¹, V is a measured speed of the rotor using back EMF voltages at time t_(m), T is a time duration between t⁻and t, dP is the difference between Xm and X⁻¹, wherein Xm is a measured position of the rotor using back EMF voltages at time t_(m) with t⁻¹≦tm≦t, and the difference dP is limited to ±(c*VT+d), and a, b, c and d are coefficients which depend on characteristics of the motor. 